﻿using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using ST.Buz.Base.Entity;

namespace ST.Buz.Base.Mapping
{
    public partial class Map_Sys_Dept : IEntityTypeConfiguration<Sys_Dept>
    {
        public void Config(EntityTypeBuilder<Sys_Dept> builder)
        {
            builder.HasKey(m => new { m.ID })
                .HasName("PK_Sys_Dept")
                .IsClustered(false);

            builder.HasIndex(m => new { m.OrgID })
                .HasName("IX_Sys_Dept_OrgID")
                .IsClustered(true);

            builder.HasIndex(m => new { m.PID })
                .HasName("IX_Sys_Dept_PID")
                .IsClustered(false);

            builder.Property(e => e.PID)
                .HasDefaultValueSql("((0))")
                .ValueGeneratedNever();

            builder.Property(e => e.Code)
                .IsUnicode(false);

            builder.Property(e => e.PYCode)
                .IsUnicode(false);

            builder.Property(e => e.Sort)
                .HasDefaultValueSql("((0))")
                .ValueGeneratedNever();

            builder.Property(e => e.Visible)
                .HasDefaultValueSql("('1')")
                .ValueGeneratedNever();

            builder.Property(e => e.Reserved)
                .HasDefaultValueSql("('0')")
                .ValueGeneratedNever();

            builder.Property(e => e.AddManID)
                .HasDefaultValueSql("((0))")
                .ValueGeneratedNever();

            builder.Property(e => e.AddDate)
                .HasDefaultValueSql("(getdate())")
                .ValueGeneratedNever();
        }
    }
}
